II Something
by Clark Hugh Stiles
January 2, 2002 

I hope you've had a safe New Year celebration, and if not, thanks for reading this in the hospital. 

I plan to install Merlin assembler into Bernie, very soon, and until I do I'm suspending work on the block editor program. Since RAM is so cheap, I'm going to upgrade the old PowerMac 7600 to 512M or whatever available funds will allow, and upgrade the OS to 8.6 (at least). I also plan to upgrade my dad's 6360 to 136M (the maximum), and since the RAM seems to be identical (minimum 70ns, 160 pin 8, 16, 32, or 64M DIMMs) may just grab his old DIMM and stick it in the 7600 for now. It's cheaper to do this and use the 7600 as an outboard disk drive than to buy a USB floppy. 

The USB floppy would be handier to use on the iMac, but not nearly as cheap. I need a floppy in some way shape or form in order to grab the old GS stuff for Bernie. 

Almost all the block editor program pieces are now available, the exception being the more or less final coding for the keystroke trap. Before I get started on the final version's coding, it might be nice to have a sort of flowchart to show how the program will work. That will make the rest much easier, since it will be planned (for a change): 
Initialization -- checks for 80 column hardware (or emulation) and starts it up 


checks to see if the buffer space is in use, and if not, load it with zeroes (the latter being a separate routine) 


builds the list of device unit codes, using the ONLINE call, storing it for ease of use 


displays the buffer space as hex bytes 


displays the (default) values for block to read/write 


displays the (default) values for device unit number to read/write 


Main Loop -- waits for a keypress, and acts based on Control- codes (for commands) or usable keystrokes (0-9, A-F in the case of hexadecimal mode) 


provides a selector interface for device unit codes (probably by slot/drive) 


provides a selector interface for block numbers (with some method of skipping large chunks in order to save time) 


stores/restores VTAB and HTAB information when leaving the edit window to do something else, to make it easier on the user 


Control-X clears the edit buffer 


Control-O builds the list of device unit codes, storing it for ease of use 


Control-R reads the currently selected block 


Control-W writes the currently selected/loaded block with a Control-Y failsafe 


Control-M selects edit/display mode (if this isn't too much work; modes will be hexadecimal and ASCII, possibly "Catalog" mode a la the old Beagle Bros' "ProByter" program) 


Tab jumps 16 block numbers at a time in the selector (perhaps "round robin"); left and right arrows jump 256 block numbers 


Escape probably does something or other 


Control-Q quits the editor 


Control-C might be handy in the future "Catalog" mode to copy the directory entry (the information pertaining to the filename); then the directory entry could be pasted (Control-V) into a blank spot of another directory, provided of course that this is smart enough and sufficiently automatic that errors don't get implanted; the filecount in the directory or subdirectory header would have to be incremented, and the two byte pointer to the directory's block would have to be altered in the pasted entry 
See, it's getting closer all the time. Before the 2002 infant is out of diapers I hope to be finished. 

II Infinitum! 